home *** CD-ROM | disk | FTP | other *** search
/ Sony Community Place / BROWSER / APP / CHAT / CHATROOM.EXE / program files / Sony / Community Place Browser / world / chatroom / scripts / luck.java < prev    next >
Encoding:
Java Source  |  1996-12-12  |  2.0 KB  |  93 lines

  1. /*
  2.  * Copyright(C) 1996 Sony Corporation. All rights reserved.
  3.  */
  4.  
  5. import vrml.*;
  6. import vrml.field.*;
  7. import vrml.node.*;
  8. import java.util.*;
  9. import vs.*;
  10.  
  11. public class luck extends Script{
  12.     /* Node */
  13.     SFNode        LuckNode;
  14.  
  15.     /* EventOut */
  16.     SFRotation    LuckTransformRotation;
  17.     SFColor        LuckMaterialColor;
  18.  
  19.     float    LuckRot = 0.0f;
  20.     static int R = 0;
  21.     static int G = 1;
  22.     static int B = 2;
  23.  
  24.     static int X = 0;
  25.     static int Y = 1;
  26.     static int Z = 2;
  27.     static int DEGREE = 3;
  28.  
  29.     public void initialize() {
  30.         /* Node */
  31.         LuckNode                = (SFNode) getField( "LuckNode" );
  32.     
  33.         /* EventOut */
  34.         LuckTransformRotation    = (SFRotation) getEventOut( "LuckTransformRotation" );
  35.         LuckMaterialColor        = (SFColor) getEventOut( "LuckMaterialColor" );
  36.     }
  37.  
  38.     public void processEvent(Event e) {
  39.         String name = e.getName () ;
  40.     
  41.         if(name.equals("LuckTouchSensorIsActive")) {    LuckTouchSensorIsActive(e);    }
  42.         if(name.equals("LuckShareTouched")){            LuckShareTouched(e);        }
  43.     }
  44.  
  45.     public void LuckTouchSensorIsActive(Event e) {
  46.         double time = e.getTimeStamp();
  47.         ConstSFBool mouse_down = (ConstSFBool)e.getValue();
  48.     
  49.         if (mouse_down.getValue()) return;    /* mouseDown */
  50.         
  51.         LuckStart( time );
  52.         Vscp.sendApplSpecificMsgWithDist( LuckNode, "LuckShareTouched", "void", Vscp.allClientsExceptMe );
  53.     }
  54.  
  55.     public void LuckShareTouched(Event e) {
  56.         double time = e.getTimeStamp();
  57.     
  58.         LuckStart( time );
  59.  
  60.     }
  61.  
  62.     public void LuckStart ( double time ) {
  63.         float rot[] = new float[4];
  64.         float col[] = new float[3];
  65.     
  66.         col[R] = (float)randMinMax(0, 255) / 255.0f;
  67.         col[G] = (float)randMinMax(0, 255) / 255.0f;
  68.         col[B] = (float)randMinMax(0, 255) / 255.0f;
  69.         LuckMaterialColor.setValue( col );
  70.         LuckRot = LuckRot + 1.04f;
  71.         rot[X] = 0.0f;
  72.         rot[Y] = 0.0f;
  73.         rot[Z] = 1.0f;
  74.         rot[DEGREE] = LuckRot;
  75.         LuckTransformRotation.setValue( rot );
  76.     
  77.     }
  78.  
  79.     int randMinMax(int min,int max){
  80.         int value;
  81.         int range;
  82.         double rnd;
  83.  
  84.         range = max - min;
  85.         rnd = Math.random();
  86.         value = (int)(rnd * (double)range) + min;
  87.  
  88.         return value;
  89.     }
  90.  
  91. }
  92. 
  93.